
const food = [
    'https://img1.baidu.com/it/u=3033226715,2238019049&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=500',
    'https://img1.baidu.com/it/u=1948650034,2409824853&fm=253&fmt=auto&app=120&f=JPEG?w=1200&h=675',
    'https://img2.baidu.com/it/u=3016274568,4110305242&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=313',
    'https://img2.baidu.com/it/u=2364493189,83457107&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=500'
]
import common from "../../../utils/common.js";
const defaultAvatarUrl = 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0'
const { voiceSvgSrc, maleSvgSrc, femaleSvgSrc } = require('../../../utils/iconSvg')
const defaultColor = '#A6A6A6'
// const defaultColor = 'rgba(153,153,153, 1)';
const activeColor = 'rgba(255, 127, 80)';

const app = getApp()
Page({

    /**
     * 页面的初始数据
     */
    data: {
        // 获取导航栏信息
        // 导航栏的高度 = 状态栏高度 + 胶囊高度 +（胶囊top - 状态栏高度）* 2 
        dhlTop: app.globalData.dhlTop,
        dhlHeight: app.globalData.dhlHeight,
        windowHeight: app.globalData.windowHeight,
        houseInfoData: {},
        voiceSvgSrc: voiceSvgSrc(defaultColor),
        maleSvgSrc: maleSvgSrc(defaultColor), 
        femaleSvgSrc: femaleSvgSrc(defaultColor),

        lat: '',
        lng: '',
        // houseInfoData: { district: '西工', title: '惠心街口里', price: 3500, imgs: food, czType: '整租', huXing: '3室2厅2卫', publishTime: '10月28日 11:30', "address": "北京市西城区西单皮库胡同246号", payType: '付一押一', area: '90', floor: '5/23层', chaoXiang: '南北' },
        // houseInfoData: { district: '西工', title: '惠心街口里', price: 3500, imgs: food, czType: '整租', huXing: '3室2厅2卫', publishTime: '10月28日 11:30', "address": "北京市西城区西单皮库胡同246号", payType: '付一押一', area: '90', floor: '5/23层', chaoXiang: '南北' },

        food,
        interval: 2000,
        duration: 500,
        previousMargin: 0,
        nextMargin: 0,
        pois: [],

        markers: [],
        // 所有标签
        // labelData: [
        //     {
        //         title: '装修情况',
        //         optionArr: [
        //             { checked: false, text: '毛坯', value: '6-1' },
        //             { checked: false, text: '简单装修', value: '6-2' },
        //             { checked: true, text: '精装修', value: '6-3' },
        //             { checked: false, text: '豪华装修', value: '6-4' }]
        //     },
        //     {
        //         title: '房屋亮点',
        //         optionArr: [
        //             { checked: false, text: '南北通透', value: '7-1' },
        //             { checked: false, text: '首次出租', value: '7-2' }]
        //     },
        //     {
        //         title: '房屋配置',
        //         optionArr: [
        //             { checked: true, text: '冰箱', value: '8-1' },
        //             { checked: true, text: '电视', value: '8-2' },
        //             { checked: true, text: '洗衣机', value: '8-3' },
        //             { checked: true, text: '热水器', value: '8-4' },
        //             { checked: false, text: '空调', value: '8-5' },
        //             { checked: true, text: '宽带', value: '8-6' },
        //             { checked: true, text: '沙发', value: '8-7' },
        //             { checked: true, text: '床', value: '8-8' },
        //             { checked: false, text: '暖气', value: '8-9' },
        //             { checked: true, text: '衣柜', value: '8-10' },
        //             { checked: true, text: '可做饭', value: '8-11' },
        //             { checked: true, text: '卫生间', value: '8-12' },
        //             { checked: false, text: '阳台', value: '8-13' },
        //             { checked: true, text: '智能门锁', value: '8-14' },
        //             { checked: true, text: '油烟机', value: '8-15' },
        //             { checked: true, text: '燃气灶', value: '8-16' },
        //             { checked: true, text: '餐桌', value: '8-17' },
        //             { checked: false, text: '橱柜', value: '8-18' },
        //             { checked: false, text: 'WIFI', value: '8-19' },
        //             { checked: false, text: '书桌', value: '8-20' },
        //             { checked: false, text: '微波炉', value: '8-21' },
        //             { checked: false, text: '电磁炉', value: '8-22' }]
        //     },
        //     {
        //         title: '出租要求',
        //         optionArr: [
        //             { checked: true, text: '一家人', value: '9-1' },
        //             { checked: false, text: '禁止养宠物', value: '9-2' },
        //             { checked: true, text: '半年起租', value: '9-3' },
        //             { checked: false, text: '一年起租', value: '9-4' },
        //             { checked: true, text: '租房稳定', value: '9-5' },
        //             { checked: true, text: '作息正常', value: '9-6' },
        //             { checked: false, text: '禁烟', value: '9-7' },
        //             { checked: false, text: '无特殊要求', value: '9-8' },
        //             { checked: false, text: '不可带小孩', value: '9-9' },
        //             { checked: true, text: '可短租', value: '9-10' }]
        //     },
        //     {
        //         title: '是否有电梯',
        //         optionArr: [
        //             { checked: true, text: '有电梯', value: '10-1' },
        //             { checked: false, text: '无电梯', value: '10-2' }]
        //     }
        // ],


        show: false,
        collectFlag: false,
        shareFlag: false,


        // 分享弹窗
        showCGStatus: 'open',
        shareFlag: false,
        cgAnimationData: null,
        customerCG: null,

        // 整理使用的
        houseId: 0,
        imgList: '',
        rentTypeName: '',
        complex: '',
        district: '',
        layoutName: '',
        publishTime: '',
        rent: '',
        payTypeName: '',
        feeName: '',
        roomName: '',
        sexName: '',
        toiletName: '',
        inDate: '',
        area: '',
        towordsName: '',
        floorName: '',
        sketch: '',
        labelDataArr: '',
        openId: '',
        nickName: '',
        genderName: '',
        avatarUrl: '',
        phone: '',
        wxno: '',

        // 所有标签页面不展示，仅用于后端保存
        labelData: [],
        // 标签内容高度动态变化
        labelContentHeight: 100,
        aroundLabelContentHeight: 150,

        // 附近房源
        houseArr: [],
        // 附近房源分页参数
        size: 20,
        current: 1,
        pages: 1,
    },


    zbf: function (location) {
        // https://apis.map.qq.com/ws/place/v1/explore?boundary=nearby(34.659926,112.428128,1000)&policy=1&page_size=20&page_index=1&key=TYRBZ-IKM6Q-FCC5F-4SCQE-ZHQ7V-LRFPW
        // 271013 公交车站
        // 271014 地铁站
        // 271016 火车站
        // 271019 长途汽车站
        // 271020 飞机场
        // 261613	地名地址:热点区域:商圈类
        // 261612	地名地址:热点区域:行政类
        // 261610	地名地址:热点区域:交通类
        // 251000	银行金融:银行
        // 241600	教育学校:职业技术学校
        // 241300	教育学校:幼儿园
        // 241200	教育学校:小学
        // 241100	教育学校:中学
        // 241000	教育学校:大学
        // 231000	文化场馆:博物馆
        // 231600	文化场馆:文化宫
        // 221700	旅游景点:国家级景点
        // 221800	旅游景点:省级景点
        // 221100	旅游景点:公园
        // 201100	医疗保健:专科医院
        // 201000	医疗保健:综合医院
        // 201800	医疗保健:社区医院
        // 201700	医疗保健:卫生院
        // 131010	购物:综合商场:购物中心
        // 121000	机构团体:公检法机构
        // 121400	机构团体:政府机关
        // location{"lat":34.67543,"lng":112.430477}
        wx.request({
            url: 'https://apis.map.qq.com/ws/place/v1/explore?boundary=nearby(' + location + ',1000,0)&policy=1&filter=category=271013,271014,271016,271019,261613,261610,221100,221800,131010&page_size=20&page_index=1&orderby=_distance&key=TYRBZ-IKM6Q-FCC5F-4SCQE-ZHQ7V-LRFPW',
            // url: 'https://apis.map.qq.com/ws/place/v1/explore?keyword=' + this.data.keyword + '&boundary=region(' + this.data.district + ',0)&filter=category=280000&page_index=' + pi + '&page_size=20&key=TYRBZ-IKM6Q-FCC5F-4SCQE-ZHQ7V-LRFPW',
            method: 'GET',
            header: {
                // 'content-type': 'application/json;charset=UTF-8;'
            },
            success: res => { //wx.request成功的回调
                // {
                //     "status": 0,
                //     "message": "Success",
                //     "request_id": "21826aeca2a1cdb5586669a932abf3c5",
                //     "count": 1994,
                //     "data": [
                //       {
                //         "id": "8319579860907350231",
                //         "title": "洛阳市西工区人民政府",
                //         "address": "河南省洛阳市西工区行署路3号",
                //         "tel": "0379-63892538",
                //         "category": "机构团体:政府机关",
                //         "location": {
                //           "lat": 34.659926,
                //           "lng": 112.428128
                //         },
                //         "ad_info": {
                //           "adcode": 410303,
                //           "province": "河南省",
                //           "city": "洛阳市",
                //           "district": "西工区"
                //         },
                //         "_distance": 0
                //       },


                console.log("data:" + JSON.stringify(res));
                // 总条数 上拉翻页
                const total = res.data.count
                // 区名
                // var quName = res.data.data[0].ad_info.district
                // 读取数据
                const dataList = this.data.pois.concat(res.data.data);
                this.setData({ pois: dataList })
                // if (dataList.length == total) {
                //     this.setData({ isEnd: true })
                // }
            },
            fail: (err) => {
                console.error(JSON.stringify(err));
            },
            complete: res => {
                //当网络请求完成后，我们要自动的把下拉刷新的样式关闭掉，要不然不好看：
                // wx.stopPullDownRefresh()
                //无论网络请求是否成功，都要关闭loading样式：
                wx.hideLoading()
                wx.hideNavigationBarLoading()

            }

        })
    },

    showMsg: function (e) {
        console.info('气泡 e=' + JSON.stringify(e))
        this.setData({
            show: !this.data.show
        })
    },

    onTap: function (e) {
        // 获取按钮元素的坐标信息
        var id = e.currentTarget.id;
        let scrollTop = 0;
        wx.createSelectorQuery().selectViewport().scrollOffset(function (res) {
            scrollTop = res.scrollTop;
        }).exec()
        wx.createSelectorQuery().select('#' + id).boundingClientRect(res => {
            this.popover.onDisplay(res, scrollTop);
        }).exec();
    },

    /**
     * 点击收藏
     * @param {收藏} e 
     */
    clickCollect: function (e) {
        console.info('再次点击=' + this.data.collectFlag)
        const houseId = e.currentTarget.dataset.id;
        const collectFlagTemp = this.data.collectFlag;
        this.setData({ collectFlag: !collectFlagTemp })
        // todo  /house-view-collect/collectHouse
        // 请求后端 
        if (collectFlagTemp) {
            this.doCancelCollect(houseId)
        } else {
            this.doCollect(houseId);
        }
    },

    doCollect: function (houseId) {
        wx.request({
            url: 'http://' + app.globalData.ipStr + '/house-view-collect/collectHouse?houseId=' + houseId,
            method: 'POST',
            header: {
                'Authorization': wx.getStorageSync("token"),
                'content-type': 'application/json;charset=UTF-8'
            },
            success: res => {
                console.info('收藏返回信息=' + JSON.stringify(res))
            },
            fail: e => {
                console.info('房屋详情异常返回信息=' + JSON.stringify(e))
            },
            complete: c => {
                // wx.hideLoading()
            }
        })
    },

    doCancelCollect: function (houseId) {
        wx.request({
            url: 'http://' + app.globalData.ipStr + '/house-view-collect/cancelCollectHouse?houseId=' + houseId,
            method: 'POST',
            header: {
                'Authorization': wx.getStorageSync("token"),
                'content-type': 'application/json;charset=UTF-8'
            },
            success: res => {
                console.info('收藏返回信息=' + JSON.stringify(res))
            },
            fail: e => {
                console.info('房屋详情异常返回信息=' + JSON.stringify(e))
            },
            complete: c => {
                // wx.hideLoading()
            }
        })
    },

    /**
     * 
     * @param {点击 分享} params 
     */
    clickShare: function (e) {
        // var currentStatu = e.currentTarget.dataset.rentstatu;
        this.utilCG('open')
        // this.onShareButtonClick()

    },

    /**
     * 用户点击右上角分享
     * 以及点击 按钮分享 
     */
    onShareAppMessage: function () {
        var shareInfo = this.getShareInfo()
        return {
            title: this.data.houseInfoData.rentTypeName + '|' + this.data.houseInfoData.complex + "|" + this.data.houseInfoData.rent + "￥",
            imageUrl: this.data.houseInfoData.imgList[0] // 图片 URL
        }
    },
    onShareTimeline: function () {
        console.info('分享至朋友 圈')
        var shareInfo = this.getShareInfo()
        console.info('分享至朋友 圈2222222222222222222222')
        try {
            return {
                title: shareInfo.title,
                imageUrl: shareInfo.imgUrl, // 图片 URL
                query: 'a=1&b=2'
            }
        } catch (error) {
            console.info('error=' + JSON.stringify(error))
        }

    },


    // 分享到朋友圈
    shareToTimeline: function () {
        var shareInfo = this.getShareInfo()

        wx.onShareTimeline({
            title: shareInfo.title,
            link: shareInfo.link,
            imgUrl: shareInfo.imgUrl,
            success: (res) => {
                // 分享成功
                console.info('res=' + JSON.stringify(res))
            },
            cancel: (e) => {
                // 用户取消分享
                console.info('e=' + JSON.stringify(e))
            }
        });

        // 取消绑定分享参数
        // wx.offShareTimeline()
    },

    // 获取分享信息
    getShareInfo: function () {
        return { title: '分享标题', link: 'https://wxaurl.cn/CAbwFSdxmJj', imgUrl: 'https://img1.baidu.com/it/u=3033226715,2238019049&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=500' };
        return new Promise((resolve, reject) => {
            wx.request({
                url: 'https://example.com/api/share', // 替换为你的接口地址
                success: (res) => {
                    resolve(res.data);
                },
                fail: (error) => {
                    reject(error);
                }
            });
        });
    },


    // --------是否保存为草稿弹窗开始-------------------------------
    hideShareZheZhao: function (e) {

        var marginTop = this.data.windowHeight - 235
        console.info('marginTop= ' + marginTop + ',,,e.touches[0]=' + JSON.stringify(e.touches[0]))
        if (e.touches[0].clientY < (this.data.windowHeight - 235)) {
            this.utilCG('close');
        }
    },

    utilCG: function (currentStatu) {
        /* 动画部分 */
        // 第1步：创建动画实例   
        var cgAnimation = wx.createAnimation({
            duration: 300,  //动画时长  
            timingFunction: "linear", //线性  
            delay: 0  //0则不延迟  
        });
        // 第2步：这个动画实例赋给当前的动画实例  
        this.cgAnimation = cgAnimation;
        // 第3步：执行第一组动画  
        // animation.opacity(0).rotateX(-100).step();
        cgAnimation.opacity(0).translateY(400).step();
        // 第4步：导出动画对象赋给数据对象储存  
        this.setData({
            cgAnimationData: cgAnimation.export()
        })
        // 第5步：设置定时器到指定时候后，执行第二组动画  
        setTimeout(function () {
            // 执行第二组动画  
            //   animation.opacity(1).rotateX(0).step();
            cgAnimation.opacity(1).translateY(0).step();
            // 给数据对象储存的第一组动画，更替为执行完第二组动画的动画对象  
            this.setData({
                cgAnimationData: cgAnimation
            })
            //关闭  
            if (currentStatu == "close") {
                this.setData(
                    {
                        shareFlag: false,
                        showCGStatus: "open"
                    }
                );
            }
        }.bind(this), 300)

        // 显示  
        if (currentStatu == "open") {
            this.setData(
                {
                    shareFlag: true,
                    showCGStatus: "close"
                }
            );
        }
    },


    toMainPage(e){
        var id = e.currentTarget.dataset.id;
        var url = '/pages/nuan/main/main?id=' + id +'&fromType=house';
        common.navigateTo2(url);
    },


    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        // this.zbf()
        console.info('options=' + JSON.stringify(options))

        let houseId = options.houseId
        // 根据id查询数据,调用后端接口
        this.getHouseInfoById(houseId);


        this.setData({
            // currWindowHeight: app.globalData.windowHeight,
            houseId: houseId
        })
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 根据当前房屋坐标查询附近房屋
     * @param {经度} lng 
     * @param {纬度} lat 
     */
    getNearbyHouseByLocation(lng, lat) {
        var tempCurrent = this.data.current
        console.info('tempCurrent=' + tempCurrent);
        if (tempCurrent > this.data.pages) {
            console.info('tempCurrent=' + tempCurrent + " 已超过总页数=" + this.data.pages);
            return;
        }
        wx.request({
            url: 'http://' + app.globalData.ipStr + '/house-base/getNearbyHouseByLocation?id='+this.data.houseId+'&lngStr=' + lng + '&latStr=' + lat,
            method: 'POST',
            header: {
                'content-type': 'application/json;charset=UTF-8'
            },
            data: { size: this.data.size, current: tempCurrent },
            success: res => {
                const houseData = res.data.data
                console.info('查询附近房屋返回信息=' + JSON.stringify(houseData))
                this.setData({ houseArr: houseData.records, current: tempCurrent + 1, })
                if (tempCurrent == 1) {
                    this.setData({ pages: houseData.pages })
                }
            },
            fail: e => {
                console.info('查询附近房屋异常返回信息=' + JSON.stringify(e))
            }
        })
    },

        /**
      * 点击 房屋信息 跳转到详情页
      * @param {房屋} e 
      */
     toHouseInfo: function (e) {
        var houseId = e.currentTarget.dataset.id
        console.info('house=' + houseId)
        wx.navigateTo({
            url: '/pages/nuan/info/houseInfo?houseId=' + houseId,
            success: function (res) {
                console.info('打开info页面成功')
            },
            fail: function (e) {
                console.info('打开info页面失败，e=' + JSON.stringify(e))
            }
        })
    },

    // 整理后的js
    getHouseInfoById(houseId) {
        wx.showLoading({
            title: '加载中...',
        })

        // 请求后端 
        wx.request({
            url: 'http://' + app.globalData.ipStr + '/house-rent/getHouseInfoById?houseId=' + houseId,
            method: 'POST',
            header: {
                'content-type': 'application/json;charset=UTF-8'
            },
            // data: { size: this.data.size, current: tempCurrent },
            success: res => {
                const houseData = res.data.data
                console.info('房屋详情返回信息=' + JSON.stringify(houseData))
                if (res.statusCode == 200) {
                    const locationArr = houseData.location.split(',');
                    const markerObjArr = [{
                        id: 0, longitude: locationArr[1], latitude: locationArr[0], iconPath: 'https://mapapi.qq.com/web/lbs/javascriptGL/demo/img/markerNew.png', callout: {
                            content: houseData.complex,
                            color: '#ff0000',
                            fontSize: 14,
                            borderWidth: 2,
                            borderRadius: 10,
                            borderColor: '#ffffff',
                            bgColor: '#fff',
                            padding: 5,
                            display: 'ALWAYS',
                            textAlign: 'center'
                        }, width: '30', height: '30'
                    }]
                    this.setData({ houseInfoData: houseData, collectFlag: houseData.collectFlag, lat: locationArr[0], lng: locationArr[1], markers: markerObjArr });
                    console.info('房屋详情返回信息=' + JSON.stringify(this.data.houseInfoData.amenityList.title))
                    this.zbf(houseData.location);
                    this.getNearbyHouseByLocation(locationArr[1], locationArr[0]);
                }
            },
            fail: e => {
                console.info('房屋详情异常返回信息=' + JSON.stringify(e))
            },
            complete: c => {
                wx.hideLoading()
            }
        })
    },

    doContact: function (houseId) {
        wx.request({
            url: 'http://' + app.globalData.ipStr + '/house-view-collect/updateContactCount?houseId=' + houseId,
            method: 'POST',
            header: {
                'Authorization': wx.getStorageSync("token"),
                'content-type': 'application/json;charset=UTF-8'
            },
            success: res => {
                console.info('联系返回信息=' + JSON.stringify(res))
            },
            fail: e => {
                console.info('联系异常返回信息=' + JSON.stringify(e))
            },
            complete: c => {
                // wx.hideLoading()
            }
        })
    },

    /**
     * 拨打电话
     * @param {联系} e 
     */
    callPhone(e) {
        wx.makePhoneCall({
            phoneNumber: e.currentTarget.dataset.phone,
            success: function () {
                //请求后端增加联系次数 todo 
                doContact(this.data.houseId);
                console.log("拨打电话成功")
            },
            fail: function (e) {
                console.error("拨打电话失败" + JSON.stringify(e));
            }
        })
    },
})